import { ref } from 'vue'
import { defineStore } from 'pinia'

export const useUserStore = defineStore(
  'user',
  () => {
    const user = ref(null)

    // 安全解析本地缓存
    const storedUser = localStorage.getItem('user')
    let parsedToken = ''
    if (storedUser) {
      try {
        parsedToken = JSON.parse(storedUser).token || ''
      } catch (e) {
        parsedToken = ''
        console.error('解析本地缓存失败', e)
      }
    }

    const token = ref(parsedToken)

    // 设置用户信息
    function setUser(val) {
      user.value = val
    }

    // 设置token
    function setToken(val) {
      token.value = val
    }

    return {
      user,
      token,
      setUser,
      setToken,
    }
  },
  {
    persist: true,
  },
)
